# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default OpenTTD Cargolock Template

game: OpenTTD Cargolock
requires:
  version: 0.6.7 # Version of Archipelago required for this yaml to work as expected.
  game:
    OpenTTD Cargolock: 0.3.1 # Version of the world required for this yaml to work as expected.

OpenTTD Cargolock:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  ####################
  # Gameplay Options #
  ####################
  starting_vehicle_type:
    # Which vehicle type you start with.
    any: 50
    train: 0
    road_vehicle: 0
    aircraft: 0
    ship: 0

  starting_cargo_type:
    # Which cargo type you start with.
    # Cannot start with Goods or Steel as they are dependent on other cargo types.
    any: 50
    passengers: 0
    mail: 0
    coal: 0
    oil: 0
    livestock: 0
    grain: 0
    wood: 0
    iron_ore: 0
    valuables: 0

  starting_cash_bonus:
    # Give a starting cash bonus equal to one full starting loan amount.
    # Off: No bonus.
    # On:  Add one loan worth of cash at session start.
    'false': 50
    'true': 0

  lock_bridges:
    # Lock bridge construction behind the 'Bridges' AP item.
    # When on, players cannot build any bridge until 'Bridges' is received.
    'false': 50
    'true': 0

  lock_tunnels:
    # Lock tunnel construction behind the 'Tunnels' AP item.
    # When on, players cannot build any tunnel until 'Tunnels' is received.
    'false': 50
    'true': 0

  lock_canals:
    # Lock canal/aqueduct construction behind the 'Canals' AP item. NOT RECOMMENDED WITH SHIP STARTING VEHICLE TYPE.
    # When on, players cannot build canals or water bridges until 'Canals' is received.
    'false': 50
    'true': 0

  lock_terraforming:
    # Lock terraforming (raise/lower land) behind the 'Terraforming' AP item. NOT RECOMMENDED FOR NEW PLAYERS.
    # When on, players cannot terraform land until 'Terraforming' is received.
    'false': 50
    'true': 0

  ###################
  # Mission Options #
  ###################
  cargo_vehicle_mission_count:
    # How many 'Transport <Cargo> by <Vehicle>' missions to generate.
    # 0  = none.  37 = all valid cargo/vehicle combinations.
    # Any value in between randomly selects that many from the 37 possibilities.
    # Each mission requires the cargo item AND the matching vehicle type to be in logic.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 37
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-37: 0 # random value between 0 and 37

  global_tiered_mission_count:
    # Number of progressive transport tiers generated for each cargo type.
    # Tier 1 requires 1 000 units, tier 2 requires 5 000, tier 3 requires 10 000, tier 4 requires 50 000, etc.
    # Per-cargo options override this global setting.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  passengers_tiered_mission_count:
    # Tiered mission count for Passengers. Overrides global if > 0.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  mail_tiered_mission_count:
    # Tiered mission count for Mail. Overrides global if > 0.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  valuables_tiered_mission_count:
    # Tiered mission count for Valuables. Overrides global if > 0.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  coal_tiered_mission_count:
    # Tiered mission count for Coal. Overrides global if > 0.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  oil_tiered_mission_count:
    # Tiered mission count for Oil. Overrides global if > 0.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  livestock_tiered_mission_count:
    # Tiered mission count for Livestock. Overrides global if > 0.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  grain_tiered_mission_count:
    # Tiered mission count for Grain. Overrides global if > 0.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  wood_tiered_mission_count:
    # Tiered mission count for Wood. Overrides global if > 0.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  iron_ore_tiered_mission_count:
    # Tiered mission count for Iron Ore. Overrides global if > 0.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  steel_tiered_mission_count:
    # Tiered mission count for Steel. Overrides global if > 0.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  goods_tiered_mission_count:
    # Tiered mission count for Goods. Overrides global if > 0.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  utilities_required_tier:
    # Tiered cargo missions at or above this tier require all locked utilities
    # (Bridges, Tunnels, Canals, Terraforming) to be unlocked in logic.
    # Only has effect when at least one infrastructure lock option is enabled.
    # Default: 2 (i.e. tier-2 missions and above need all utility items).
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 10
    2: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-10: 0 # random value between 1 and 10

  ################
  # Shop Options #
  ################
  enable_shop:
    # Whether the AP shop is enabled for this slot.
    'false': 0
    'true': 50

  shop_slots:
    # Total number of AP shop locations to generate.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 100
    20: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-100: 0 # random value between 1 and 100

  shop_tiers:
    # How many visibility tiers the AP shop is split into.
    # Tier 1 is visible from the start; each Progressive Shop Upgrade reveals one more tier.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 100
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-100: 0 # random value between 1 and 100

  shop_cost_min:
    # Minimum cost for random shop item pricing.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1000
    # Maximum value is 2000000
    50000: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1000-2000000: 0 # random value between 1000 and 2000000

  shop_cost_max:
    # Maximum cost for random shop item pricing.
    # Should be >= Shop Cost Minimum. Default 1,000,000.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1000
    # Maximum value is 10000000
    1000000: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1000-10000000: 0 # random value between 1000 and 10000000

  reveal_shop_items:
    # Whether the AP shop list reveals actual item rewards.
    # Off: shop entries stay blind (Shop 1, Shop 2, ...).
    # On:  shop entries show the real item each location unlocks.
    'false': 0
    'true': 50

  #####################
  # Fillers and Traps #
  #####################
  filler_weights:
    # Controls how often each filler item appears in the item pool.
    # Increase a value to make that filler more common, set to 0 to disable it.
    Cash Injection: 10
    Choo chooo!: 1
    Civic Honours: 10
    High Demand Period: 10
    Industry Boost: 10
    New CEO: 10
    Town Development Fund: 10

  trap_frequency:
    # Percentage of filler slots that are replaced with a trap item.
    # 0 = no traps. 50 = half of all filler slots become traps. 100 = all fillers are traps.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    10: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  trap_weights:
    # Controls how often each trap item appears when a filler slot is selected for a trap.
    # Increase a value to make that trap more common, set to 0 to disable it.
    Breakdown Crisis: 1
    Coal Mine Collapse: 5
    Company Scandal: 5
    Driver Strike: 1
    Industry Strike: 1
    Large Submarine: 5
    Large UFO: 5
    Military Aircraft: 5
    Military Helicopter: 5
    Recession: 1
    Small Submarine: 5
    Small UFO: 5
    Town Roadworks: 5
    Wildfire: 5
    Zeppelin Crash: 5

  recession_months:
    # How many in-game months a Recession lasts before cargo payments return to normal.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 24
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-24: 0 # random value between 1 and 24

  recession_multiplier_pct:
    # Payment multiplier percentage during a Recession.
    # 70 = cargo payments are cut to 70% of normal.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 50
    # Maximum value is 95
    70: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-50-95: 0 # random value between 50 and 95

  industry_strike_months:
    # How many in-game months an Industry Strike lasts before production resumes.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 24
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-24: 0 # random value between 1 and 24

  reliability_crisis_months:
    # How many in-game months a Breakdown Crisis lasts before breakdowns return to normal.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 24
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-24: 0 # random value between 1 and 24

  high_demand_months:
    # How many in-game months a High Demand Period lasts.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 24
    6: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-24: 0 # random value between 1 and 24

  high_demand_multiplier_pct:
    # Payment multiplier percentage during a High Demand Period.
    # 150 = all cargo payments are 50% higher than normal.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 110
    # Maximum value is 300
    150: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-110-300: 0 # random value between 110 and 300

  ####################
  # World Generation #
  ####################
  start_year:
    # The starting year for the game world. Default is 1960.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 5000000
    1960: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-5000000: 0 # random value between 1 and 5000000

  map_size_x:
    # Width of the generated map.
    '64': 0
    '128': 0
    '256': 50
    '512': 0
    '1024': 0
    '2048': 0
    '4096': 0

  map_size_y:
    # Height of the generated map.
    '64': 0
    '128': 0
    '256': 50
    '512': 0
    '1024': 0
    '2048': 0
    '4096': 0

  land_generator:
    # Which terrain generator to use.
    original: 0
    terragenesis: 50

  terrain_type:
    # Base terrain shape in map generation.
    very_flat: 0
    flat: 50
    hilly: 0
    mountainous: 0
    alpinist: 0

  variety_distribution:
    # Landscape variety distribution.
    none: 50
    very_low: 0
    low: 0
    medium: 0
    high: 0
    very_high: 0

  smoothness:
    # Roughness/smoothness preset for terrain generator.
    very_smooth: 0
    smooth: 50
    rough: 0
    very_rough: 0

  rivers:
    # Amount of rivers generated.
    none: 0
    few: 0
    medium: 50
    many: 0

  town_names:
    # Town name style.
    english_original: 50
    french: 0
    german: 0
    english_additional: 0
    latin_american: 0
    silly: 0
    swedish: 0
    dutch: 0
    finnish: 0
    polish: 0
    slovak: 0
    norwegian: 0
    hungarian: 0
    austrian: 0
    romanian: 0
    czech: 0
    swiss: 0
    danish: 0
    turkish: 0
    italian: 0
    catalan: 0

  number_of_towns:
    # Initial number of towns.
    very_low: 0
    low: 0
    normal: 50
    high: 0

  sea_level:
    # Sea/lake amount preset.
    very_low: 50
    low: 0
    medium: 0
    high: 0

  industry_density:
    # Number of industries generated at game start.
    fund_only: 0
    minimal: 0
    very_low: 0
    low: 0
    normal: 50
    high: 0

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
